Digital signal processing is widely used to process data carrying signals to remove, for example, inter-symbol interference (ISI), echoes, cross talk and other impairments, and to provide filtering, correlation and other processing. Echo cancellation involves first recognizing the originally transmitted signal that re-appears, with some delay, in the transmitted plus received signal. Once the echo is recognized, it can be removed by ‘subtracting’ it from the transmitted plus received signal. This technique is generally implemented using a digital signal processor (DSP), but can also be implemented in software. Echo cancellation is done using either echo suppressors or echo cancellers, or in some cases both. In a full duplex data communication system having a single pair of wires, transmit and receive signals share the same channel bandwidth and their spectrums overlap. The signal that is applied to the receiver contains an attenuated and impaired version of the transmitted signal from the remote end plus a portion of the local transmit signal. In such a system an echo canceller is needed before the receiver can process the receive signal to recover the data. One implementation of a conventional echo canceller (EC) is shown in FIG. 1. The echo canceller accepts as input a composite signal (TX+RX) which is comprised of the “wanted” receive and “unwanted” local transmitted signals. The purpose of the echo canceller is to filter out the unwanted local transmitted component and deliver to the system the receive component for further processing. It accomplishes this task by first recognizing and then estimating a replica of the transmitted signal and subsequently subtracting it from the composite signal hence recovering the receive component.
In a DSP based system, the transmitter and echo canceller both operate at sample rate Fs where the sampling period Ts is 1/Fs. The echo canceller is an adaptive transversal filter that accepts as input, samples of the local transmit signal. Each sample period Ts, the echo canceller computes one echo sample and delivers it to a digital-to-analog converter (DAC) which in turn converts it to an analog signal and subtracts it from the composite signal. The signal at the output of the subtracter is the receive signal which also serves as the error signal for the echo canceller. The analog receive signal (error signal) is fed into an analog-to-digital converter (ADC) which is sampled at the same rate Fs and converted to a digital format. The digital signal is fed into the DSP block for further processing of the receive signal. The same signal serves as an error signal and is also fed into the coefficient update block of the echo canceller. This block updates the coefficients of the adaptive filter using a least mean square (LMS) algorithm in such a way that it minimizes the correlation (resemblance) between the receive (error) and transmitted signals. The combination of the transversal filter and the LMS coefficient update blocks form the echo canceller.
In an echo canceller such as the one shown in FIG. 1 that operates at a sample rate of Fs the spectral (frequency) components of the echo can only be cancelled in a range limited to Fs/2. Beyond this range the echo canceller is not effective.
In addition to the echo canceller not being effective beyond Fs/2, in the process converting the digital input to analog waveform via the DAC it ends up adding some unwanted components beyond Fs/2. Thus, from 0 to Fs/2 the echo canceller cancels echo and beyond Fs/2 the echo canceller aggravates the echo. This addition of unwanted components results in increased distortion and jitter due to extra high frequency components added by the DAC beyond Fs/2.ADC